#pragma once
#include "AllocManager.h"

namespace GBase
{
	class MemObj
	{
	public:
		explicit MemObj( ){	}

		~MemObj(){ }

		void* operator new(size_t count, const char* file , int line , const char* func );
		void* operator new(size_t count);

		void* operator new[](size_t count,  const char* file , int line , const char* func );
		void* operator new[](size_t count);

		void operator delete(void *ptr);
		void operator delete[](void *ptr);

		//placement operator new
		void* operator new(size_t count, void *ptr)
		{
			//std::cout << "void* operator new(size_t count, void *ptr)" << std::endl;
			return ptr;
		}

		void* operator new[](size_t count, void*ptr)
		{
			//std::cout << "void* operator new[](size_t count, void *ptr)" << std::endl;
			return ptr;
		}

		//placement operator delete
		void operator delete(void* ptr, void*)
		{
		}

		void operator delete[](void* ptr, void*)
		{
		}



	};
}